home *** CD-ROM | disk | FTP | other *** search
/ Aventura Visual - História Do Mundo / Aventura Visual - História do Mundo.img / dksetup / dkgen.inc < prev    next >
Text File  |  1997-02-14  |  31KB  |  836 lines

  1. '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  2. '
  3. '   DKGEN.INC
  4. '
  5. '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  6. ' See DKSETUP.MST for change history
  7. '
  8. '27/02/96 Added the function InstallQTW.
  9. '25/01/96 Change the EndCommonInstall and HandleRestart SUB's to Functions to
  10. '         utilise return values. So the user does NOT get the 'You must restart
  11. '         windows' warning AND THEN the 'Successful install' dialog box.
  12. '25/01/96 Change path checking to look for Max of 8 chars first.
  13. '08/08/95 Test for Norton Anti Virus
  14. '03/08/95 const for uninstall and min register added
  15. '07/07/95 Correct so unregisters use of ctl3d
  16. '01/06/95 No choice about adding icons to progman
  17. '?/05/95  If bundle with sampler need to test for cirrus driver - put into mst file
  18. '12/03/95 Alternative function added, readme icon has shortened name
  19.  
  20. '$INCLUDE 'setupapi.inc'
  21. '$INCLUDE 'msdetect.inc'
  22. '$INCLUDE 'dklang.inc'
  23.  
  24. CONST SOURCE_BINARIES_SUBDIR = "DKCODE"
  25. CONST SOURCE_SETUP_SUBDIR = "DKSETUP"
  26. CONST SETUP_INF_FILENAME = "SETUP.INF"
  27. CONST CUIDLL_FILENAME = "mscuistf.dll"
  28. CONST SETUP_INI_BINARIES_SECTION_NAME = "BIN"
  29. CONST SETUP_INI_SH_BINARIES_SECTION_NAME = "BIN Shared"
  30. CONST SETUP_INI_WING_BINARIES_NAME = "WinG Runtime"
  31. CONST SETUP_INI_WING32_BINARIES_NAME = "WinG32"
  32. CONST SETUP_INI_ACM_SECTION_NAME = "ACM Drivers"
  33. CONST SETUP_INI_FONTS_SECTION_NAME = "Fonts"
  34.  
  35. 'unin, min register
  36. CONST UNINSTALL_EXE_FILE = "UNINSTAL.exe"
  37. CONST DKREG_INI_DIR = "\MMAPP"
  38. CONST DKREG_INI_PATH = "\MMAPP\MMAPP.ini"
  39. CONST WIN_INI_ENTRY = "path"
  40.  
  41. CONST PRODUCT_INI_DIR_SECTION_NAME = "Directory"
  42. CONST PRODUCT_INI_DIR_ENTRY_NAME = "Data"
  43.  
  44. CONST MINIMUM_DISK_SPACE = 2048 ' For Minimum install
  45.  
  46. ' Procs
  47. CONST PROC_HELP = "FHelpDlgProc"
  48.  
  49. DECLARE FUNCTION ExitWindowsExec LIB "USER.EXE" (szEXE$, szParams$) AS INTEGER
  50.  
  51. DECLARE FUNCTION Ctl3dRegister LIB "CTL3D.DLL" (hInst%) AS INTEGER
  52. DECLARE FUNCTION Ctl3dUnregister LIB "CTL3D.DLL" (hInst%) AS INTEGER
  53. DECLARE FUNCTION Ctl3dAutoSubClass LIB "CTL3D.DLL" (hInst%) AS INTEGER
  54.  
  55. DECLARE FUNCTION OnWin3x LIB "setuphlp.DLL" AS INTEGER
  56. DECLARE FUNCTION VflatdPresent LIB "setuphlp.DLL" AS INTEGER
  57. DECLARE FUNCTION GetRealSystemDir LIB "setuphlp.DLL" (szDir$,cbBuf%) AS INTEGER
  58. DECLARE FUNCTION RestartWindows LIB "setuphlp.DLL" AS INTEGER
  59. DECLARE FUNCTION IsWin32FileNewer LIB "setuphlp.DLL" (szOrig$,szNew$) AS INTEGER
  60. DECLARE SUB RenameFilePlease LIB "setuphlp.DLL" (szOrig$,szNew$)
  61.  
  62. DECLARE FUNCTION FIsVGA LIB "mscuistf.dll" AS INTEGER
  63. DECLARE FUNCTION FIs256Colour LIB "mscuistf.dll" AS INTEGER
  64. DECLARE FUNCTION Welcome() AS INTEGER
  65. DECLARE FUNCTION TestSystem() AS INTEGER
  66. DECLARE FUNCTION GetDiskSpaceNeeded(drive%) AS LONG
  67. DECLARE SUB Initialise(prodName$, defInstallPath$, msgCaption$)
  68. DECLARE SUB DeInitialise()
  69. DECLARE SUB AskQuit()
  70. DECLARE SUB BadPath()
  71. DECLARE SUB NetworkDrive()
  72. DECLARE SUB UpdateIndeoAVIDrivers()
  73. DECLARE SUB UpdateWinGDrivers()
  74. 'DECLARE SUB UpdateProgramManager(prodName$, appExeFile$, appPengeFile$, readmeFile$, readmeStr$, onCDROM%)
  75. 'DECLARE SUB UpdateProgramManagerAlt(prodName$, readmeName$, appExeFile$, appPengeFile$, readmeFile$, readmeStr$, onCDROM%)
  76. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  77. DECLARE FUNCTION GetRealWindowsSysDir AS STRING
  78. DECLARE SUB UpdateWinG32 (szOrig$)
  79. DECLARE SUB InitCommonInstall()
  80. DECLARE FUNCTION LicenseAgreement() AS INTEGER
  81. DECLARE FUNCTION Win32sRequiredDLG() AS INTEGER
  82. DECLARE FUNCTION UpdateADPCMDrivers() AS INTEGER
  83. DECLARE FUNCTION EndCommonInstall( AppReadmeFile$, InRoot%, szEditorExe$ ) AS INTEGER
  84. DECLARE FUNCTION HandleRestart() AS INTEGER
  85. DECLARE FUNCTION InstallQTW() As INTEGER
  86.  
  87. ' Error messages
  88. CONST ERR_OK = 100
  89. CONST ERR_EXITFAIL = 101
  90. CONST ERR_WINVERFAIL = 102
  91. CONST ERR_NODISKSPACE = 103
  92.  
  93. ' Navigation messages
  94. CONST NAV_FORWARD = 0
  95. CONST NAV_BACK = 1
  96. CONST NAV_EXIT = 2
  97. CONST NAV_RUN = 3
  98.  
  99.  
  100. ' Bitmap ID
  101. CONST LOGO = 1
  102.  
  103. 'QUIT ASKQUIT
  104. 'ABORT EXITFAILURE
  105. 'BADEXIT EXITQUIT
  106. 'SUCCES EXITSUCCESS
  107. 'WELHELP APPHELP
  108. 'DONEVIDEO DONENEWSYSSOFT
  109. 'DONENOVIDEO DONENOSYSSOFT
  110. 'ADDSYSTEMSOFTWARE NEWSYSTEMSOFTWARE
  111. 'WRONGADPCM NEWADPCM
  112. 'NOSYSSOFTWARE WARNNOSYSSOFT
  113.  
  114. ' Dialog ID's
  115. CONST IDD_WELCOME       = 100
  116. CONST IDD_CUSTOMHELP    = 106
  117. CONST IDD_SPEED         = 111
  118. CONST IDD_ASKQUIT       = 200
  119. CONST IDD_DESTPATH      = 300
  120. CONST IDD_EXITFAILURE   = 400
  121. CONST IDD_EXITQUIT      = 600
  122. CONST IDD_EXITSUCCESS   = 700
  123. CONST IDD_APPHELP       = 900
  124. CONST IDD_DONENEWSYSSOFT    = 1100
  125. CONST IDD_DONENOSYSSOFT     = 1800
  126. CONST IDD_NEWSYSTEMSOFTWARE = 2300
  127. CONST IDD_NEWADPCM      = 2600
  128. CONST IDD_WARNNOSYSSOFT = 3100
  129. CONST IDD_MAILMAN       = 1500
  130. CONST IDD_CUSTOM        = 6200
  131. CONST IDD_BADPATH       = 6400
  132. CONST IDD_NEED31        = 6401
  133. CONST IDD_NOMOUSE       = 6402
  134. CONST IDD_BADVGA        = 6403
  135. CONST IDD_NOT256        = 6404
  136. CONST IDD_POORMACHINE   = 6405
  137. CONST IDD_AWFULMACHINE  = 6406
  138. CONST IDD_PATHHELP      = 6407
  139. CONST IDD_WHIZZHELP     = 6408
  140. CONST IDD_URKADPCM      = 6409
  141. CONST IDD_ADPCMHELP     = 6410
  142. CONST IDD_NODISKSPACE   = 6411
  143. CONST IDD_NETWORKDRIVE  = 6412
  144. CONST IDD_LICENSE       = 6420
  145. CONST IDD_INSTALLQTW    = 6421
  146. '// Win 32s bits
  147. '//
  148. CONST IDD_EXITFAILNOTENH        = 6430
  149. CONST IDD_EXITFAILNOTINTEL      = 6431
  150. CONST IDD_EXITFAILNOTWIN31      = 6432
  151. CONST IDD_EXITFAILRUNAPP        = 6433
  152. CONST IDD_FREECELLINST          = 6434
  153. CONST IDD_NEEDSWIN32S           = 6435
  154. CONST ID_APP_FILE_NAME1         = 6446
  155. CONST ID_APP_FILE_NAME          = 6447
  156.  
  157. GLOBAL szWinPath As String
  158. GLOBAL szWinSysPath As String
  159. GLOBAL szWinDrive As String
  160. GLOBAL szSrcSetupPath As String
  161. GLOBAL szSrcBinPath As String
  162. GLOBAL szDestPath As String
  163. GLOBAL szOldDestPath As String
  164. GLOBAL szPengePath As String
  165. GLOBAL szINFPath As String
  166. GLOBAL szAppINIPath As String
  167. GLOBAL szMsgCaption As String
  168. GLOBAL szButton As String
  169. GLOBAL szMinimalInstall As String
  170. GLOBAL szAddPMItem As String
  171. GLOBAL szExpressCustomChoice As String
  172. GLOBAL szMMappPath As String
  173. GLOBAL szInstExePath As String
  174. GLOBAL szInstExeDate As String
  175. GLOBAL szCdExePath As String
  176. GLOBAL szCdExeDate As String
  177. GLOBAL szCopyright As String
  178. GLOBAL szFullSampPath As String
  179. GLOBAL szSampINIPath As String
  180. GLOBAL szSampData As String
  181. GLOBAL szSampVersion As String
  182. GLOBAL szMsacmPriority1 As String
  183. GLOBAL szMsacmPriority2 As String
  184. GLOBAL szMsacmPriority3 As String
  185. GLOBAL bInstalledWin32s As Integer
  186.  
  187. GLOBAL fPreviousMode As Integer
  188. GLOBAL fWillNotFit As Integer
  189. GLOBAL fSystemUpdated As Integer
  190. GLOBAL hDlg As Integer
  191. GLOBAL dButton As Integer
  192. GLOBAL dWinDrive As Integer
  193. GLOBAL dDestDrive As Integer
  194. GLOBAL dCursor As Integer
  195.  
  196.  
  197. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  198. Sub InitCommonInstall() STATIC
  199.     AddToBillboardList CUIDLL_FILENAME, IDD_MAILMAN, "MailmanDlgProc", 2500
  200.     SetCopyGaugePosition -1, 150
  201. End Sub
  202.  
  203.  
  204. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  205. Function EndCommonInstall( AppReadmeFile$, InRoot%, szEditorExe$ ) STATIC AS INTEGER
  206.  
  207.     if RestartListEmpty = 0 or fSystemUpdated = 1 or bInstalledWin32s = 1 then
  208.         hDlg = IDD_DONENEWSYSSOFT
  209.     else
  210.         hDlg = IDD_DONENOSYSSOFT
  211.     end if
  212.  
  213. QuitLoop:
  214.     szButton = UIStartDlg(CUIDLL_FILENAME, hDlg, "FInfoDlgProc", 0, "")
  215.     select case szButton
  216.     case "REACTIVATE"
  217.         goto QuitLoop
  218.     case "CONTINUE"     'Read me
  219.         if inRoot% = 1 then
  220.             szReadMe$ = MakePath( mid$(szSrcSetupPath, 1, (len(szSrcSetupPath) - len(SOURCE_SETUP_SUBDIR))-1), appReadmeFile$)
  221.         else
  222.             szReadMe$ = MakePath(szSrcBinPath, appReadmeFile$)
  223.         end if
  224.         if szEditorExe$ = "write.exe " then
  225.             run szEditorExe$ + szReadMe$, nowait
  226.         else
  227.             run szEditorExe$ + szReadMe$
  228.         end if
  229.         goto QuitLoop
  230.     case "BACK"     'Restart Windows
  231.         if HandleRestart = 0 then
  232.             dButton = DoMsgBox( STR_SYSMESSAGE, szMsgCaption$, MB_OK+MB_TASKMODAL+MB_ICONHAND)
  233.             EndCommonInstall = NAV_EXIT
  234.         else
  235.             En